package com.catoop.spring.prop;

import java.io.IOException;
import java.util.Properties;

import org.springframework.beans.factory.config.PropertiesFactoryBean;

/**
 * 继承PropertiesFactoryBean 重写loadProperties 用来解密
 * 
 *
 * @author 单红宇(CSDN CATOOP)
 * @create 2017年3月20日
 */
public class PropertiesFactoryBeanPro extends PropertiesFactoryBean {
	
	private DecryptPropsBean decryptPropsBean;

	@Override
	protected void loadProperties(Properties props) throws IOException {
		super.loadProperties(props);
		try {
			// 对需要解密的配置解密
			getDecryptPropsBean().decryptProps(props);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public DecryptPropsBean getDecryptPropsBean() {
		if(this.decryptPropsBean == null)
			decryptPropsBean = new DecryptPropsBean();
		return decryptPropsBean;
	}

	public void setDecryptPropsBean(DecryptPropsBean decryptPropsBean) {
		this.decryptPropsBean = decryptPropsBean;
	}
	
}
